package com.example.config.httpclient;

import com.example.pojo.model.GiteeUsersApi;
import com.example.pojo.model.resp.GiteeUserResp;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;

/**
 * Gitee 接入用户账号
 */
@Component
public class GiteeUsersClient {
    @Resource
    private RestTemplate restTemplate;
    @Resource
    private GiteeUsersApi userApi;

    public GiteeUserResp getGrantUserInfo(String accessToken) {

        /*
        String url = userApi.getGetUserInfo() + "?access_token=" + accessToken;
        GiteeUserResp giteeUserResp = restTemplate.getForObject(url, GiteeUserResp.class);
        return giteeUserResp;
        */

        /**
         * fixme Gitee 很操蛋的就是访问令牌不放到 header 信息里,非常的不统一
         * 有的放到 formData 中,有的放到 queryParams 里
         */

        String url = userApi.getGetUserInfo() + "?access_token={access_token}";
        Map<String, Object> queryParams = new HashMap<>();
        queryParams.put("access_token", accessToken);

        //请求
        GiteeUserResp giteeUserResp = restTemplate.getForObject(url, GiteeUserResp.class, queryParams);
        return giteeUserResp;
    }
}
